using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace BIUtilities.Publish.PasDataObjects
{
    /// <summary>
    /// Container class for the PAS Page element and data retrieved from the PAS webservice
    /// See the \PasOutput folder for what the data looks like.
    /// </summary>
    [Serializable()]
    [XmlRoot("Page")]
    public class Page: Folder
    {
        private Guid _providerId;
        private string _providerCaption;
        private string _serverName;
        private string _localServerName;
        private string _catalogName;
        private string _cubeName;
        private string _cubeCaption;
        private string _schemaName;

        /// <summary>
        /// PAS Report Provider
        /// </summary>
        [XmlAttribute()]
        public Guid ProviderName
        {
            get { return _providerId ; }
            set { _providerId = value; }
        }

        /// <summary>
        /// PAS Report Provider Caption
        /// </summary>
        [XmlAttribute()]
        public string ProviderCaption
        {
            get { return _providerCaption; }
            set { _providerCaption = value; }
        }

        /// <summary>
        /// PAS Report Server Name
        /// </summary>
        [XmlAttribute()]
        public string ServerName
        {
            get { return _serverName; }
            set { _serverName = value; }
        }

        /// <summary>
        /// PAS Report Local Server Name
        /// </summary>
        [XmlAttribute()]
        public string LocalServerName
        {
            get { return _localServerName; }
            set { _localServerName = value; }
        }

        /// <summary>
        /// PAS Report Catalog Name
        /// </summary>
        [XmlAttribute()]
        public string CatalogName
        {
            get { return _catalogName; }
            set { _catalogName = value; }
        }

        /// <summary>
        /// PAS Report Cube Name
        /// </summary>
        [XmlAttribute()]
        public string CubeName
        {
            get { return _cubeName; }
            set { _cubeName = value; }
        }

        /// <summary>
        /// PAS Report Cube Caption
        /// </summary>
        [XmlAttribute()]
        public string CubeCaption
        {
            get { return _cubeCaption; }
            set { _cubeCaption = value; }
        }

        /// <summary>
        /// PAS Report Scheme Name
        /// </summary>
        [XmlAttribute()]
        public string SchemaName
        {
            get { return _schemaName; }
            set { _schemaName = value; }
        }
    }
}
